{\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf350
{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
{\colortbl;\red255\green255\blue255;}
\vieww9000\viewh8400\viewkind0
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural

\f0\fs24 \cf0 Shell-based fur.\
\
A simple way to implement fur is to draw many shells of an object.  The shells are made up of vertices slid along the normals of the object.  Each shell's transparency is modulated with a noise texture on a per-fragment basis to approximate a random distribution of fur.\
\
The vertex shader in this exhibit slides the vertices of the object along its normals, and computes lighting.\
\
The fragment shader samples a color texture for the color of the surface and then uses a noise texture to modulate the alpha of fragments.\
\
Banding is visible on the edges of the object due to the simple shell based approach.  The quality of this fur could be improved by adding "fins" or polygons extending perpendicular from the object's surface textured with side views of fur.  Also, this simple example renders fur as though it sticks straight out of the surface, which isn't usually the case.\
}